package com.tan.kotlintest.proxy.myproxy.normal;

/*
 * Copyright (C) 2018 重庆一聊高科技有限公司
 * 版权所有
 *
 * 功能描述：测试代理模式  中间商能从工厂拿货, 所以持有工厂的对象
 *
 * 类描述: 代理模式中的  "代理中间商"
 * 能功能增强doSthBefore doSthAfter
 *
 * 作者：txj
 * 创建时间：2018/9/14
 *
 * 修改人：
 * 修改描述：
 * 修改日期
 */
public class Mark implements SaleFactory {

    private SaleFactory factory;

    //获取实例
    public Mark(SaleFactory factory) {
        this.factory = factory;
    }

    @Override
    public void saleGood(String size) {
        doSthBefore();
        //通过工厂拿货
        factory.saleGood(size);
        doSthAfter();
    }

    //功能增强
    private void doSthBefore() {
        System.out.println("售前服务");
    }

    //功能增强
    private void doSthAfter() {
        System.out.println("售后服务");
    }

}
